using System;
using System.Text;

namespace RealState.BusinessObjects
{
	[Serializable()]
	public class ContentExtras
	{
		private int _ContentId;

		public int ContentId
		{
			get { return _ContentId; }
			set { _ContentId = value; }
		}

		private string _CompanyName;

		public string CompanyName
		{
			get { return _CompanyName; }
			set { _CompanyName = value; }
		}

		private string _CompanyAddress;

		public string CompanyAddress
		{
			get { return _CompanyAddress; }
			set { _CompanyAddress = value; }
		}

		private string _Tel;

		public string Tel
		{
			get { return _Tel; }
			set { _Tel = value; }
		}

		private string _Fax;

		public string Fax
		{
			get { return _Fax; }
			set { _Fax = value; }
		}

		private string _Email;

		public string Email
		{
			get { return _Email; }
			set { _Email = value; }
		}

		private string _Website;

		public string Website
		{
			get { return _Website; }
			set { _Website = value; }
		}

		private string _BusinessOwner;

		public string BusinessOwner
		{
			get { return _BusinessOwner; }
			set { _BusinessOwner = value; }
		}

		private string _TaxCode;

		public string TaxCode
		{
			get { return _TaxCode; }
			set { _TaxCode = value; }
		}

		private DateTime _StartTime;

        public DateTime StartTime
		{
			get { return _StartTime; }
			set { _StartTime = value; }
		}

		private string _Description;

		public string Description
		{
			get { return _Description; }
			set { _Description = value; }
		}

		private string _Status;

		public string Status
		{
			get { return _Status; }
			set { _Status = value; }
		}

		private string _Revenue;

		public string Revenue
		{
			get { return _Revenue; }
			set { _Revenue = value; }
		}

		private string _LastRevenue;

		public string LastRevenue
		{
			get { return _LastRevenue; }
			set { _LastRevenue = value; }
		}

		private string _AnnualProfit;

		public string AnnualProfit
		{
			get { return _AnnualProfit; }
			set { _AnnualProfit = value; }
		}

		private string _LastAnualProfit;

		public string LastAnualProfit
		{
			get { return _LastAnualProfit; }
			set { _LastAnualProfit = value; }
		}

		private string _Assets;

		public string Assets
		{
			get { return _Assets; }
			set { _Assets = value; }
		}

		private string _SaleType;

		public string SaleType
		{
			get { return _SaleType; }
			set { _SaleType = value; }
		}

		private string _Reason;

		public string Reason
		{
			get { return _Reason; }
			set { _Reason = value; }
		}

		private Nullable<bool> _IsAuction;

		public Nullable<bool> IsAuction
		{
			get { return _IsAuction; }
			set { _IsAuction = value; }
		}

		private long _Price;

        public long Price
		{
			get { return _Price; }
			set { _Price = value; }
		}

		private string _TransType;

		public string TransType
		{
			get { return _TransType; }
			set { _TransType = value; }
		}

		private string _ProjectTitle;

		public string ProjectTitle
		{
			get { return _ProjectTitle; }
			set { _ProjectTitle = value; }
		}

		private string _Investor;

		public string Investor
		{
			get { return _Investor; }
			set { _Investor = value; }
		}

		private string _Location;

		public string Location
		{
			get { return _Location; }
			set { _Location = value; }
		}

		private string _Note;

		public string Note
		{
			get { return _Note; }
			set { _Note = value; }
		}

		public ContentExtras()
		{ }

        public ContentExtras(int ContentId, string CompanyName, string CompanyAddress, string Tel, string Fax, string Email, string Website, string BusinessOwner, string TaxCode, DateTime StartTime, string Description, string Status, string Revenue, string LastRevenue, string AnnualProfit, string LastAnualProfit, string Assets, string SaleType, string Reason, Nullable<bool> IsAuction, long Price, string TransType, string ProjectTitle, string Investor, string Location, string Note)
		{
			this.ContentId = ContentId;
			this.CompanyName = CompanyName;
			this.CompanyAddress = CompanyAddress;
			this.Tel = Tel;
			this.Fax = Fax;
			this.Email = Email;
			this.Website = Website;
			this.BusinessOwner = BusinessOwner;
			this.TaxCode = TaxCode;
			this.StartTime = StartTime;
			this.Description = Description;
			this.Status = Status;
			this.Revenue = Revenue;
			this.LastRevenue = LastRevenue;
			this.AnnualProfit = AnnualProfit;
			this.LastAnualProfit = LastAnualProfit;
			this.Assets = Assets;
			this.SaleType = SaleType;
			this.Reason = Reason;
			this.IsAuction = IsAuction;
			this.Price = Price;
			this.TransType = TransType;
			this.ProjectTitle = ProjectTitle;
			this.Investor = Investor;
			this.Location = Location;
			this.Note = Note;
		}

		public override string ToString()
		{
			return "ContentId = " + ContentId.ToString() + ",CompanyName = " + CompanyName + ",CompanyAddress = " + CompanyAddress + ",Tel = " + Tel + ",Fax = " + Fax + ",Email = " + Email + ",Website = " + Website + ",BusinessOwner = " + BusinessOwner + ",TaxCode = " + TaxCode + ",StartTime = " + StartTime + ",Description = " + Description + ",Status = " + Status + ",Revenue = " + Revenue + ",LastRevenue = " + LastRevenue + ",AnnualProfit = " + AnnualProfit + ",LastAnualProfit = " + LastAnualProfit + ",Assets = " + Assets + ",SaleType = " + SaleType + ",Reason = " + Reason + ",IsAuction = " + IsAuction.ToString() + ",Price = " + Price + ",TransType = " + TransType + ",ProjectTitle = " + ProjectTitle + ",Investor = " + Investor + ",Location = " + Location + ",Note = " + Note;
		}

		public class ContentIdComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public ContentIdComparer()
			{ }
			public ContentIdComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.ContentId.CompareTo(x.ContentId);
				}
				else
				{
					return x.ContentId.CompareTo(y.ContentId);
				}
			}
			#endregion
		}
		public class CompanyNameComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public CompanyNameComparer()
			{ }
			public CompanyNameComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.CompanyName.CompareTo(x.CompanyName);
				}
				else
				{
					return x.CompanyName.CompareTo(y.CompanyName);
				}
			}
			#endregion
		}
		public class CompanyAddressComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public CompanyAddressComparer()
			{ }
			public CompanyAddressComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.CompanyAddress.CompareTo(x.CompanyAddress);
				}
				else
				{
					return x.CompanyAddress.CompareTo(y.CompanyAddress);
				}
			}
			#endregion
		}
		public class TelComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public TelComparer()
			{ }
			public TelComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Tel.CompareTo(x.Tel);
				}
				else
				{
					return x.Tel.CompareTo(y.Tel);
				}
			}
			#endregion
		}
		public class FaxComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public FaxComparer()
			{ }
			public FaxComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Fax.CompareTo(x.Fax);
				}
				else
				{
					return x.Fax.CompareTo(y.Fax);
				}
			}
			#endregion
		}
		public class EmailComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public EmailComparer()
			{ }
			public EmailComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Email.CompareTo(x.Email);
				}
				else
				{
					return x.Email.CompareTo(y.Email);
				}
			}
			#endregion
		}
		public class WebsiteComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public WebsiteComparer()
			{ }
			public WebsiteComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Website.CompareTo(x.Website);
				}
				else
				{
					return x.Website.CompareTo(y.Website);
				}
			}
			#endregion
		}
		public class BusinessOwnerComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public BusinessOwnerComparer()
			{ }
			public BusinessOwnerComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.BusinessOwner.CompareTo(x.BusinessOwner);
				}
				else
				{
					return x.BusinessOwner.CompareTo(y.BusinessOwner);
				}
			}
			#endregion
		}
		public class TaxCodeComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public TaxCodeComparer()
			{ }
			public TaxCodeComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.TaxCode.CompareTo(x.TaxCode);
				}
				else
				{
					return x.TaxCode.CompareTo(y.TaxCode);
				}
			}
			#endregion
		}
		public class StartTimeComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public StartTimeComparer()
			{ }
			public StartTimeComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.StartTime.CompareTo(x.StartTime);
				}
				else
				{
					return x.StartTime.CompareTo(y.StartTime);
				}
			}
			#endregion
		}
		public class DescriptionComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public DescriptionComparer()
			{ }
			public DescriptionComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Description.CompareTo(x.Description);
				}
				else
				{
					return x.Description.CompareTo(y.Description);
				}
			}
			#endregion
		}
		public class StatusComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public StatusComparer()
			{ }
			public StatusComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Status.CompareTo(x.Status);
				}
				else
				{
					return x.Status.CompareTo(y.Status);
				}
			}
			#endregion
		}
		public class RevenueComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public RevenueComparer()
			{ }
			public RevenueComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Revenue.CompareTo(x.Revenue);
				}
				else
				{
					return x.Revenue.CompareTo(y.Revenue);
				}
			}
			#endregion
		}
		public class LastRevenueComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public LastRevenueComparer()
			{ }
			public LastRevenueComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.LastRevenue.CompareTo(x.LastRevenue);
				}
				else
				{
					return x.LastRevenue.CompareTo(y.LastRevenue);
				}
			}
			#endregion
		}
		public class AnnualProfitComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public AnnualProfitComparer()
			{ }
			public AnnualProfitComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.AnnualProfit.CompareTo(x.AnnualProfit);
				}
				else
				{
					return x.AnnualProfit.CompareTo(y.AnnualProfit);
				}
			}
			#endregion
		}
		public class LastAnualProfitComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public LastAnualProfitComparer()
			{ }
			public LastAnualProfitComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.LastAnualProfit.CompareTo(x.LastAnualProfit);
				}
				else
				{
					return x.LastAnualProfit.CompareTo(y.LastAnualProfit);
				}
			}
			#endregion
		}
		public class AssetsComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public AssetsComparer()
			{ }
			public AssetsComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Assets.CompareTo(x.Assets);
				}
				else
				{
					return x.Assets.CompareTo(y.Assets);
				}
			}
			#endregion
		}
		public class SaleTypeComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public SaleTypeComparer()
			{ }
			public SaleTypeComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.SaleType.CompareTo(x.SaleType);
				}
				else
				{
					return x.SaleType.CompareTo(y.SaleType);
				}
			}
			#endregion
		}
		public class ReasonComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public ReasonComparer()
			{ }
			public ReasonComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Reason.CompareTo(x.Reason);
				}
				else
				{
					return x.Reason.CompareTo(y.Reason);
				}
			}
			#endregion
		}
		public class PriceComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public PriceComparer()
			{ }
			public PriceComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Price.CompareTo(x.Price);
				}
				else
				{
					return x.Price.CompareTo(y.Price);
				}
			}
			#endregion
		}
		public class TransTypeComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public TransTypeComparer()
			{ }
			public TransTypeComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.TransType.CompareTo(x.TransType);
				}
				else
				{
					return x.TransType.CompareTo(y.TransType);
				}
			}
			#endregion
		}
		public class ProjectTitleComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public ProjectTitleComparer()
			{ }
			public ProjectTitleComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.ProjectTitle.CompareTo(x.ProjectTitle);
				}
				else
				{
					return x.ProjectTitle.CompareTo(y.ProjectTitle);
				}
			}
			#endregion
		}
		public class InvestorComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public InvestorComparer()
			{ }
			public InvestorComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Investor.CompareTo(x.Investor);
				}
				else
				{
					return x.Investor.CompareTo(y.Investor);
				}
			}
			#endregion
		}
		public class LocationComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public LocationComparer()
			{ }
			public LocationComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Location.CompareTo(x.Location);
				}
				else
				{
					return x.Location.CompareTo(y.Location);
				}
			}
			#endregion
		}
		public class NoteComparer : System.Collections.Generic.IComparer<ContentExtras>
		{
			public SorterMode SorterMode;
			public NoteComparer()
			{ }
			public NoteComparer(SorterMode SorterMode)
			{
				this.SorterMode = SorterMode;
			}
			#region IComparer<ContentExtras> Membres
			int System.Collections.Generic.IComparer<ContentExtras>.Compare(ContentExtras x, ContentExtras y)
			{
				if (SorterMode == SorterMode.Ascending)
				{
					return y.Note.CompareTo(x.Note);
				}
				else
				{
					return x.Note.CompareTo(y.Note);
				}
			}
			#endregion
		}
	}
}
